home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / commodore-scene-files / Coverdisks / CDU / V4D11.D64 / budget calc (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  12.0 KB  |  385 lines

  1. 100 REM *******************************
  2. 110 REM * BUDGET CALC   BY S.PHILLIPS *
  3. 120 REM *******************************
  4. 130 POKE808,239:REM DISABLES RUN/STOP
  5. 140 IFLO=1THENGOSUB2920:GOSUB2640:GOTO590
  6. 150 POKE53280,9:POKE53281,9:POKE646,7:PRINTCHR$(142):GOSUB160:GOSUB180:GOTO190
  7. 160 PRINT"[147]    B U D G E T    P R O G R A M M E":PE=1
  8. 170 PRINT"[197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]":RETURN
  9. 180 PRINT"WRITTEN BY:   SIMON PHILLIPS":RETURN
  10. 190 PRINT"PLEASE KEY IN PRESENT MONTH"
  11. 200 PRINT"MONTH: [164] [164] [164]"
  12. 210 QT=16:QU$="":AN$="":FT=0:OP=0:PE$="ACTUAL"
  13. 220 GETQU$:IFQU$=""THEN220
  14. 230 PRINT"[145]"TAB(QT)QU$
  15. 240 AN$=AN$+QU$:QT=QT+2:FT=FT+1:IFFT=3THEN260
  16. 250 GOTO220
  17. 260 IFAN$="JAN"THENOP=1
  18. 270 IFAN$="FEB"THENOP=2
  19. 280 IFAN$="MAR"THENOP=3
  20. 290 IFAN$="APR"THENOP=4
  21. 300 IFAN$="MAY"THENOP=5
  22. 310 IFAN$="JUN"THENOP=6
  23. 320 IFAN$="JUL"THENOP=7
  24. 330 IFAN$="AUG"THENOP=8
  25. 340 IFAN$="SEP"THENOP=9
  26. 350 IFAN$="OCT"THENOP=10
  27. 360 IFAN$="NOV"THENOP=11
  28. 370 IFAN$="DEC"THENOP=12
  29. 380 IFOP=0OROP=13THENAN$="":QT=16:FT=0:PRINT"[145][145][145]":GOTO200
  30. 390 PRINT"PRESS  SPACE BAR [146] TO COMMENCE LOADING":MZ$=AN$
  31. 400 GETA$:IFA$=" "THEN420
  32. 410 GOTO400
  33. 420 PRINT"[147]LOADING  BUDGET  DATA"
  34. 430 OPEN2,8,2,"0:BUDGET DATA,S,R":INPUT#2,SR:INPUT#2,CM:AM=0
  35. 440 DIMH(200),H$(200),Y(200),Y$(200),HM(20),HM$(20),YM(20),YM$(20),HS(25)
  36. 450 DIMHS$(25),YS(25),YS$(25),V(200)
  37. 460 DIMM$(20),M(20),S$(20),S(20),F$(200),F(200),FZ(200),FZ$(200),SR$(20),SS$(20)
  38. 470 DIMSU$(20),SR(20),SS(20),SU(20),BA$(30),BB$(30),BC$(30),BA(30),BB(30),J$(30)
  39. 480 DIMBC(30),ST$(20),MT$(20),MT(20),ST(20),NB(20),NC(20),GT(10),R(99):FORA=1TO192
  40. 490 INPUT#2,Y$(A):Y$=MID$(Y$(A),2):Y(A)=VAL(Y$):NEXTA
  41. 500 FORA=1TO192:INPUT#2,H$(A):H$=MID$(H$(A),2):H(A)=VAL(H$):NEXTA:GOSUB2920:GOSUB2640
  42. 510 FORB=1TO12:INPUT#2,SR$(B):SR$=MID$(SR$(B),2):SR(B)=VAL(SR$)
  43. 520 INPUT#2,SS$(B):SS$=MID$(SS$(B),2):SS(B)=VAL(SS$)
  44. 530 INPUT#2,SU$(B):SU$=MID$(SU$(B),2):SU(B)=VAL(SU$)
  45. 540 NEXTB:FORC=1TO16
  46. 550 INPUT#2,BA$(C):BA$=MID$(BA$(C),2):BA(C)=VAL(BA$)
  47. 560 INPUT#2,BB$(C):BB$=MID$(BB$(C),2):BB(C)=VAL(BB$)
  48. 570 INPUT#2,BC$(C):BC$=MID$(BC$(C),2):BC(C)=VAL(BC$)
  49. 580 NEXTC:INPUT#2,GT(1):INPUT#2,GT(2):INPUT#2,GT(3):CLOSE2
  50. 590 SM$="SUB [205] MONTH":ST$="SUBT":MT$="MONTHLY TOT":MI=12
  51. 600 OPEN3,8,3,"0:BUDGET SUBJECTS,S,R"
  52. 610 FORFI=1TO16
  53. 620 INPUT#3,J$(FI):S$(FI)=MID$(J$(FI),1,MI):INPUT#3,NB(FI):INPUT#3,NC(FI)
  54. 630 NEXTFI
  55. 640 CLOSE3
  56. 650 GOSUB660:GOTO720
  57. 660 FORGH=1TO192
  58. 670 IFY$(GH)="000"THENY$(GH)="---"
  59. 680 F$(GH)=Y$(GH):F(GH)=Y(GH)
  60. 690 NEXTGH
  61. 700 FORGH=1TO16:ST$(GH)=YS$(GH):ST(GH)=YS(GH):NEXTGH
  62. 710 FORGH=1TO12:MT$(GH)=YM$(GH):MT(GH)=YM(GH):NEXTGH:RETURN
  63. 720 OPEN4,8,4,"0:BUDGET MONTHS,S,R"
  64. 730 FORZZ=1TO12:INPUT#4,M$(ZZ):NEXTZZ:CLOSE4
  65. 740 IFAN$=MID$(M$(1),2,3)ANDLO=0THENCM=CM+1:SR=1:GOTO3200
  66. 750 LA$="":LB$=" ":LC$="  ":LD$="  ":LE$="    "
  67. 760 LF$="[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]":LK$="":PE$=" ACTUAL "
  68. 770 GOSUB830:GOSUB780:GOTO820
  69. 780 PRINT"";
  70. 790 FORTY=1TO19:PRINT"                                       ":NEXTTY
  71. 800 RETURN
  72. 810 GOSUB830
  73. 820 GOTO860
  74. 830 PA$(1)="[207][183][183][183][183][183][183][208][207][183][183][183][183][208][146][207][183][183][183][183][183][208][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208]"
  75. 840 PA$(2)="[180]REVIEW[167][165]MOVE[167][146][165]AMEND[167][165]END[167][165]"+PE$+"[167]"
  76. 850 PA$(3)="[204][175][175][175][175][175][175][186][204][175][175][175][175][186][146][204][175][175][175][175][175][186][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186]":RETURN
  77. 860 GOSUB880
  78. 870 GOTO940
  79. 880 PRINT"[147]"
  80. 890 PRINT""
  81. 900 PRINT"[207][183][183][183][183][183][183][208][207][183][183][183][183][208][146][207][183][183][183][183][183][208][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208]"
  82. 910 PRINT"[180]REVIEW[167][165]MOVE[167][146][165]AMEND[167][165]END[167][165]"+PE$+"[167]"
  83. 920 PRINT"[204][175][175][175][175][175][175][186][204][175][175][175][175][186][146][204][175][175][175][175][175][186][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186]"
  84. 930 RETURN
  85. 940 PRINT""
  86. 950 GOSUB780
  87. 960 DI=2:S=1:F=1:U=1:M=1:MT=1:FF=F:SS=S:UU=U:MM=M:MU=MT:GOTO1260
  88. 970 F=FF:S=SS:U=UU:M=MM:MT=MU
  89. 980 SW=1:DI=2
  90. 990 AZ$="":AX$=""
  91. 1000 DI=2:PRINT"";AZ$;LB$;M$(M);LA$;M$(M+1);LA$;M$(M+2);LA$;M$(M+3);LC$;AX$
  92. 1010 PRINT"";LF$
  93. 1020 PRINT"";AZ$;LB$;F$(F);LB$;F$(F+1);LB$;F$(F+2);LB$;F$(F+3);LC$;AX$
  94. 1030 PRINT"";AZ$;LB$;F$(F+12);LB$;F$(F+13);LB$;F$(F+14);LB$;F$(F+15);LC$;
  95. 1040 PRINTAX$
  96. 1050 PRINT"";AZ$;LB$;F$(F+24);LB$;F$(F+25);LB$;F$(F+26);LB$;F$(F+27);LC$;
  97. 1060 PRINTAX$
  98. 1070 PRINT"";AZ$;LB$;F$(F+36);LB$;F$(F+37);LB$;F$(F+38);LB$;F$(F+39);LC$;
  99. 1080 PRINTAX$
  100. 1090 PRINT"";AZ$;LA$;MT$(MT);LA$;MT$(MT+1);LA$;MT$(MT+2);LA$;MT$(MT+3);LD$;
  101. 1100 PRINTGT$
  102. 1110 GOTO1390
  103. 1120 SW=1:DI=2
  104. 1130 AC$="":AV$="":AB$="            ":AS$="[157][157][157][157][157][157][157][157][157][157][157][157]"
  105. 1140 DI=2:PRINT""
  106. 1150 PRINT"";LF$
  107. 1160 PRINT"";AB$;AS$;S$(S);LB$;F$(F);LB$;F$(F+1);LB$;F$(F+2);LB$;F$(F+3);LC$;ST$(U)
  108. 1170 PRINT"";AB$;AS$;S$(S+1);LB$;F$(F+12);LB$;F$(F+13);LB$;F$(F+14);LB$;F$(F+15);
  109. 1180 PRINTLC$;ST$(U+1)
  110. 1190 PRINT"";AB$;AS$;S$(S+2);LB$;F$(F+24);LB$;F$(F+25);LB$;F$(F+26);LB$;F$(F+27);
  111. 1200 PRINTLC$;ST$(U+2)
  112. 1210 PRINT"";AB$;AS$;S$(S+3);LB$;F$(F+36);LB$;F$(F+37);LB$;F$(F+38);LB$;F$(F+39);
  113. 1220 PRINTLC$;ST$(U+3)
  114. 1230 PRINT"";AZ$;LA$;AC$;LA$;AC$;LA$;AC$;LA$;AC$;LD$;
  115. 1240 PRINTGT$
  116. 1250 GOTO1390
  117. 1260 F=FF:S=SS:U=UU:M=MM:MT=MU
  118. 1270 SW=1:DI=2:GOSUB780
  119. 1280 DI=2:PRINT"";SM$;LB$;M$(M);LA$;M$(M+1);LA$;M$(M+2);LA$;M$(M+3);LC$;ST$
  120. 1290 PRINT"";LF$
  121. 1300 PRINT"";S$(S);LB$;F$(F);LB$;F$(F+1);LB$;F$(F+2);LB$;F$(F+3);LC$;ST$(U)
  122. 1310 PRINT"";S$(S+1);LB$;F$(F+12);LB$;F$(F+13);LB$;F$(F+14);LB$;F$(F+15);LC$;
  123. 1320 PRINTST$(U+1)
  124. 1330 PRINT"";S$(S+2);LB$;F$(F+24);LB$;F$(F+25);LB$;F$(F+26);LB$;F$(F+27);LC$;
  125. 1340 PRINTST$(U+2)
  126. 1350 PRINT"";S$(S+3);LB$;F$(F+36);LB$;F$(F+37);LB$;F$(F+38);LB$;F$(F+39);LC$;
  127. 1360 PRINTST$(U+3)
  128. 1370 PRINT"";MT$;LA$;MT$(MT);LA$;MT$(MT+1);LA$;MT$(MT+2);LA$;MT$(MT+3);LD$;
  129. 1380 PRINTGT$
  130. 1390 SD=NOTPEEK(56320)AND15:FO=PEEK(56320)AND16
  131. 1400 IF(SDAND1)THEN1460
  132. 1410 IF(SDAND2)THEN1500
  133. 1420 IF(SDAND4)THEN1540
  134. 1430 IF(SDAND8)THEN1590
  135. 1440 IFFO=0THEN2100
  136. 1450 SD=0:GOTO1390
  137. 1460 IFF=1ORF=2ORF=3ORF=4ORF=6ORF=7ORF=8THEN1390
  138. 1470 IFF=5THEN1390
  139. 1480 IFF=9THEN1390
  140. 1490 F=F-12:S=S-1:U=U-1:GOTO1120
  141. 1500 IFF=145ORF=146ORF=147ORF=148ORF=150ORF=151ORF=152THEN1390
  142. 1510 IFF=149THEN1390
  143. 1520 IFF=153THEN1390
  144. 1530 F=F+12:S=S+1:U=U+1:GOTO1120
  145. 1540 IFF=1ORF=13ORF=25ORF=37ORF=61ORF=73ORF=85ORF=109ORF=121ORF=133THEN1390
  146. 1550 IFF=49THEN1390
  147. 1560 IFF=97THEN1390
  148. 1570 IFF=145THEN1390
  149. 1580 F=F-1:M=M-1:MT=MT-1:GOTO980
  150. 1590 IFF=9ORF=21ORF=33ORF=45ORF=69ORF=81ORF=93ORF=117ORF=129ORF=141THEN1390
  151. 1600 IFF=57THEN1390
  152. 1610 IFF=105THEN1390
  153. 1620 IFF=153THEN1390
  154. 1630 F=F+1:M=M+1:MT=MT+1:GOTO980
  155. 1640 CE$="":NU=0:CF=0:CG=0:F=FF:PRINT""F$(F)"[146]":X=0:Y=0
  156. 1650 FF=F:SS=S:UU=U:MM=M:MU=MT
  157. 1660 SD=NOTPEEK(56320)AND15:FO=PEEK(56320)AND16:Y1=Y:X1=X
  158. 1670 IF(SDAND2)THENY=Y+1:GOTO1710
  159. 1680 IF(SDAND1)THENY=Y-1:GOTO1710
  160. 1690 IF(SDAND4)THENX=X-1:GOTO1710
  161. 1700 IF(SDAND8)THENX=X+1:GOTO1710
  162. 1710 IFY<0THENY=0
  163. 1720 IFY>3THENY=3
  164. 1730 IFX<0THENX=0
  165. 1740 IFX>3THENX=3
  166. 1750 IFFO=0THENGOSUB890:GOTO1260
  167. 1760 IFX<>X1THENGOSUB1990
  168. 1770 IFY<>Y1THENGOSUB1990
  169. 1780 PRINT"";:NU=0:FORJA=1TO(Y*3)+4:PRINT"";:NEXTJA
  170. 1790 PRINTTAB(13+(X*5));
  171. 1800 IFY>0THENNU=12*Y
  172. 1810 NU=NU+X
  173. 1820 PRINT"";F$(F+NU)
  174. 1830 GETA$
  175. 1840 FO=PEEK(56320)AND16:IFFO=0THEN1750
  176. 1850 IFA$=""THEN1890
  177. 1860 IFA$=CHR$(13)THEN1910
  178. 1870 A=ASC(A$):IFA>57ORA<48THEN1830
  179. 1880 GOTO1910
  180. 1890 IFCF=0THEN1980
  181. 1900 GOTO1830
  182. 1910 CG=CG+1:IFCG=4THENCP$=CE$:CE$=""+CE$:GOTO2010
  183. 1920 CE$=CE$+A$
  184. 1930 PRINT"";
  185. 1940 PRINT"";:FORJA=1TO(Y*3)+4:PRINT"";:NEXTJA
  186. 1950 PRINTTAB(14+(X*5));"";CE$
  187. 1960 CF=1:GOTO1830
  188. 1970 IFFO=0THEN2100
  189. 1980 SD=0:GOTO1660
  190. 1990 PRINT"";:FORJA=1TO(Y1*3)+4:PRINT"";:NEXTJA
  191. 2000 PRINTTAB(13+(X1*5));"[146]";F$(F+NU):RETURN
  192. 2010 IFA$=CHR$(13)THENCF=0:F$(F+NU)=CE$:F(F+NU)=VAL(CP$):AM=1:GOTO2030
  193. 2020 GOTO2090
  194. 2030 PRINT"PLEASE WAIT"
  195. 2040 IFPE=1THENY$(F+NU)=CE$:Y(F+NU)=VAL(CP$)
  196. 2050 IFPE=0THENH$(F+NU)=CE$:H(F+NU)=VAL(CP$)
  197. 2060 IFPE=1THENGOSUB2640:GOSUB660:GOTO2080
  198. 2070 IFPE=0THENGOSUB2920:GOSUB3590:GOTO2080
  199. 2080 GOSUB830:GOSUB880:GOTO1260
  200. 2090 CG=0:CE$="":GOTO1930
  201. 2100 FF=F:SS=S:UU=U:MM=M:MU=MT
  202. 2110 FO=PEEK(56320)AND16:IFFO=0THEN2110
  203. 2120 F=16:SD=NOTPEEK(56320)AND15:FO=PEEK(56320)AND16
  204. 2130 IF(SDAND1)THEN2110
  205. 2140 IF(SDAND2)THEN2110
  206. 2150 IF(SDAND4)THENDI=DI-1:GOTO2190
  207. 2160 IF(SDAND8)THENDI=DI+1:GOTO2190
  208. 2170 IFFO=0THEN2530
  209. 2180 SD=0:GOTO2120
  210. 2190 IFDI=0THENDI=5:GOTO2210
  211. 2200 IFDI=6THENDI=1
  212. 2210 ONDIGOTO2230,2290,2350,2410,2470
  213. 2220 GOTO2120
  214. 2230 PRINT""
  215. 2240 PRINT"[207][183][183][183][183][183][183][208][146][207][183][183][183][183][208][207][183][183][183][183][183][208][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208]"
  216. 2250 PRINT"[180]REVIEW[167][146][165]MOVE[167][165]AMEND[167][165]END[167][165]";PE$;"[167]"
  217. 2260 PRINT"[204][175][175][175][175][175][175][186][146][204][175][175][175][175][186][204][175][175][175][175][175][186][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186]"
  218. 2270 FORDZ=1TO100:NEXTDZ
  219. 2280 GOTO2120
  220. 2290 PRINT""
  221. 2300 PRINT"[207][183][183][183][183][183][183][208][207][183][183][183][183][208][146][207][183][183][183][183][183][208][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208]"
  222. 2310 PRINT"[180]REVIEW[167][165]MOVE[167][146][165]AMEND[167][165]END[167][165]";PE$;"[170]"
  223. 2320 PRINT"[204][175][175][175][175][175][175][186][204][175][175][175][175][186][146][204][175][175][175][175][175][186][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186]"
  224. 2330 FORDZ=1TO100:NEXTDZ
  225. 2340 GOTO2120
  226. 2350 PRINT""
  227. 2360 PRINT"[207][183][183][183][183][183][183][208][207][183][183][183][183][208][207][183][183][183][183][183][208][146][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208]"
  228. 2370 PRINT"[180]REVIEW[167][165]MOVE[167][165]AMEND[167][146][165]END[167][165]";PE$;"[170]"
  229. 2380 PRINT"[204][175][175][175][175][175][175][186][204][175][175][175][175][186][204][175][175][175][175][175][186][146][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186]"
  230. 2390 FORDZ=1TO100:NEXTDZ
  231. 2400 GOTO2120
  232. 2410 PRINT""
  233. 2420 PRINT"[207][183][183][183][183][183][183][208][207][183][183][183][183][208][207][183][183][183][183][183][208][207][183][183][183][208][146][207][183][183][183][183][183][183][183][183][208]"
  234. 2430 PRINT"[180]REVIEW[167][165]MOVE[167][165]AMEND[167][165]END[167][146][165]";PE$;"[170]"
  235. 2440 PRINT"[204][175][175][175][175][175][175][186][204][175][175][175][175][186][204][175][175][175][175][175][186][204][175][175][175][186][146][204][175][175][175][175][175][175][175][175][186]"
  236. 2450 FORDZ=1TO100:NEXTDZ
  237. 2460 GOTO2120
  238. 2470 PRINT""
  239. 2480 PRINT"[207][183][183][183][183][183][183][208][207][183][183][183][183][208][207][183][183][183][183][183][208][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208][146]"
  240. 2490 PRINT"[180]REVIEW[167][165]MOVE[167][165]AMEND[167][165]END[167][165]";PE$;"[170][146]"
  241. 2500 PRINT"[204][175][175][175][175][175][175][186][204][175][175][175][175][186][204][175][175][175][175][175][186][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186][146]"
  242. 2510 FORDZ=1TO100:NEXTDZ
  243. 2520 GOTO2120
  244. 2530 PRINT""
  245. 2540 ONDIGOTO3480,2600,1640,3470,3500
  246. 2550 END
  247. 2560 GOSUB2640:DI=2:GOTO2350
  248. 2570 PRINT"[180]REVIEW[167][165]MOVE[167][146][165]AMEND[167][165]END[167][165]";PE$;"[167]"
  249. 2580 PRINT"[204][175][175][175][175][175][175][186][204][175][175][175][175][186][146][204][175][175][175][175][175][186][204][175][175][175][186][204][175][175][175][175][175][175][175][175][186]"
  250. 2590 GOTO2630
  251. 2600 PRINT"[147]":PRINT""
  252. 2610 PRINT"[207][183][183][183][183][183][183][208][207][183][183][183][183][208][146][207][183][183][183][183][183][208][207][183][183][183][208][207][183][183][183][183][183][183][183][183][208]"
  253. 2620 GOTO2570
  254. 2630 GOTO1260
  255. 2640 FORER=1TO(12*16):IFY$(ER)="000"THENY$(ER)="---":NEXTER
  256. 2650 FORTY=1TO12
  257. 2660 YM(TY)=Y(TY)+Y(TY+12)+Y(TY+24)+Y(TY+48)+Y(TY+60)+Y(TY+72)+Y(TY+84)+Y(TY+96)
  258. 2670 YM(TY)=YM(TY)+Y(TY+108)+Y(TY+120)+Y(TY+132)+Y(TY+144)+Y(TY+156)+Y(TY+168)
  259. 2680 YM(TY)=YM(TY)+Y(TY+36)+Y(TY+180):YM$(TY)=STR$(YM(TY))
  260. 2690 NEXTTY:ZY=0
  261. 2700 FORZX=0TO15:ZZ=(ZX*12)+1:ZY=ZY+1
  262. 2710 YS(ZY)=Y(ZZ)+Y(ZZ+1)+Y(ZZ+2)+Y(ZZ+3)+Y(ZZ+4)+Y(ZZ+5)+Y(ZZ+6)+Y(ZZ+7)
  263. 2720 YS(ZY)=YS(ZY)+Y(ZZ+8)+Y(ZZ+9)+Y(ZZ+10)+Y(ZZ+11)
  264. 2730 NEXTZX
  265. 2740 FORTY=1TO16:YS$(TY)=STR$(YS(TY)):NEXTTY
  266. 2750 GT=YM(1)+YM(2)+YM(3)+YM(4)+YM(5)+YM(6)+YM(7)+YM(8)+YM(9)+YM(10)+YM(11)
  267. 2760 GT=GT+YM(12):GT$=STR$(GT):GT$=MID$(GT$,2):GT$=""+GT$
  268. 2770 FORT=1TO16:YM$(T)=MID$(YM$(T),2)
  269. 2780 IFYM$(T)="0"THENYM$(T)="0000":GOTO2830
  270. 2790 L=LEN(YM$(T)):IFL=3THENYM$(T)="0"+YM$(T):GOTO2830
  271. 2800 L=LEN(YM$(T)):IFL=2THENYM$(T)="00"+YM$(T):GOTO2830
  272. 2810 L=LEN(YM$(T)):IFL=1THENYM$(T)="000"+YM$(T):GOTO2830
  273. 2820 L=LEN(YM$(T)):IFL=4THENYM$(T)=""+YM$(T):GOTO2830
  274. 2830 NEXTT
  275. 2840 FORT=1TO16:YS$(T)=MID$(YS$(T),2)
  276. 2850 IFYS$(T)="0"THENYS$(T)="0000":GOTO2900
  277. 2860 L=LEN(YS$(T)):IFL=3THENYS$(T)="0"+YS$(T):GOTO2900
  278. 2870 L=LEN(YS$(T)):IFL=2THENYS$(T)="00"+YS$(T):GOTO2900
  279. 2880 L=LEN(YS$(T)):IFL=1THENYS$(T)="000"+YS$(T):GOTO2900
  280. 2890 L=LEN(YS$(T)):IFL=4THENYS$(T)=""+YS$(T)
  281. 2900 NEXTT
  282. 2910 RETURN
  283. 2920 FORER=1TO(12*16):IFH$(ER)="000"THENH$(ER)="---":NEXTER
  284. 2930 FORTY=1TO12
  285. 2940 HM(TY)=H(TY)+H(TY+12)+H(TY+24)+H(TY+48)+H(TY+60)+H(TY+72)+H(TY+84)+H(TY+96)
  286. 2950 HM(TY)=HM(TY)+H(TY+108)+H(TY+120)+H(TY+132)+H(TY+144)+H(TY+156)+H(TY+168)
  287. 2960 HM(TY)=HM(TY)+H(TY+36)+H(TY+180):HM$(TY)=STR$(HM(TY))
  288. 2970 NEXTTY:ZY=0
  289. 2980 FORZX=0TO15:ZZ=(ZX*12)+1:ZY=ZY+1
  290. 2990 HS(ZY)=H(ZZ)+H(ZZ+1)+H(ZZ+2)+H(ZZ+3)+H(ZZ+4)+H(ZZ+5)+H(ZZ+6)+H(ZZ+7)
  291. 3000 HS(ZY)=HS(ZY)+H(ZZ+8)+H(ZZ+9)+H(ZZ+10)+H(ZZ+11)
  292. 3010 NEXTZX
  293. 3020 FORTY=1TO16:HS$(TY)=STR$(HS(TY)):NEXTTY
  294. 3030 GT=HM(1)+HM(2)+HM(3)+HM(4)+HM(5)+HM(6)+HM(7)+HM(8)+HM(9)+HM(10)+HM(11)
  295. 3040 GT=GT+HM(12):GT$=STR$(GT):GT$=MID$(GT$,2):GT$=""+GT$:GH$=GT$
  296. 3050 FORT=1TO16:HM$(T)=MID$(HM$(T),2)
  297. 3060 IFHM$(T)="0"THENHM$(T)="0000":GOTO3110
  298. 3070 L=LEN(HM$(T)):IFL=3THENHM$(T)="0"+HM$(T):GOTO3110
  299. 3080 L=LEN(HM$(T)):IFL=2THENHM$(T)="00"+HM$(T):GOTO3110
  300. 3090 L=LEN(HM$(T)):IFL=1THENHM$(T)="000"+HM$(T):GOTO3110
  301. 3100 L=LEN(HM$(T)):IFL=4THENHM$(T)=""+HM$(T):GOTO3110
  302. 3110 NEXTT
  303. 3120 FORT=1TO16:HS$(T)=MID$(HS$(T),2)
  304. 3130 IFHS$(T)="0"THENHS$(T)="0000":GOTO3180
  305. 3140 L=LEN(HS$(T)):IFL=3THENHS$(T)="0"+HS$(T):GOTO3180
  306. 3150 L=LEN(HS$(T)):IFL=2THENHS$(T)="00"+HS$(T):GOTO3180
  307. 3160 L=LEN(HS$(T)):IFL=1THENHS$(T)="000"+HS$(T):GOTO3180
  308. 3170 L=LEN(HS$(T)):IFL=4THENHS$(T)=""+HS$(T)
  309. 3180 NEXTT
  310. 3190 RETURN
  311. 3200 FORW=1TO193:Y(W)=0:H(W)=0:H$(W)="---":Y$(W)="---":NEXTW
  312. 3210 FORGH=1TO192
  313. 3220 H(GH)=0:IFH(GH)>0THENH(GH)=0
  314. 3230 Y(GH)=0:IFY(GH)>0THENY(GH)=0:NEXTGH
  315. 3240 FORE=1TO16
  316. 3250 IFST(E)>0THENST(E)=0
  317. 3260 ST$(E)="0000":NEXTE
  318. 3270 GT(1)=GT(2):GT$(1)=GT$(2)
  319. 3280 GT(2)=GT(3):GT$(2)=GT$(3)
  320. 3290 GT(3)=GT:GT$(3)=GT$
  321. 3300 FORGH=1TO12
  322. 3310 YM$(GH)="0000":IFYM$(GH)<>"0000"THENYM$(GH)="0000"
  323. 3320 HM$(GH)="0000":IFHM$(GH)<>"0000"THENHM$(GH)="0000"
  324. 3330 NEXTGH
  325. 3340 GT=0:GT$="0000"
  326. 3350 FORP=1TO16
  327. 3360 YS$(P)="0000"
  328. 3370 HS$(P)="0000"
  329. 3380 YS(P)=0000
  330. 3390 HS(P)=0000
  331. 3400 NEXTP:SR=0
  332. 3410 FORP=1TO12:HM(P)=0000:HM$(P)="0000":YM(P)=0:YM$(P)="0000":NEXTP
  333. 3420 F=ZQ(1):S=ZQ(2):T=ZQ(3):M=ZQ(4):MT=ZQ(5)
  334. 3430 FORTU=1TO193:F$(TU)=Y$(TU):F(TU)=Y(TU):NEXTTU
  335. 3440 FORTU=1TO16:ST$(TU)=YS$(TU):ST(TU)=YS(TU):NEXTTU
  336. 3450 FORTU=1TO12:MT$(TU)=YM$(TU):MT(TU)=YM(TU):NEXTTU
  337. 3460 GOTO750
  338. 3470 PRINT"PLEASE WAIT":GOSUB3650:LOAD"BUD END",8,1
  339. 3480 PRINT"PLEASE WAIT":GOSUB3650
  340. 3490 LOAD"BUD REVIEW",8,1
  341. 3500 PRINT"PLEASE WAIT"
  342. 3510 IFPE=0THENPE=1:PE$=" ACTUAL ":GOSUB2640:GOTO3560
  343. 3520 IFPE=1THENPE=0:PE$="ESTIMATE":GOSUB2920
  344. 3530 FORTU=1TO193:F$(TU)=H$(TU):F(TU)=H(TU):NEXTTU
  345. 3540 FORTU=1TO16:ST$(TU)=HS$(TU):ST(TU)=HS(TU):NEXTTU
  346. 3550 FORTU=1TO12:MT$(TU)=HM$(TU):MT(TU)=HM(TU):NEXTTU:GOTO2600
  347. 3560 FORTU=1TO193:F$(TU)=Y$(TU):F(TU)=Y(TU):NEXTTU
  348. 3570 FORTU=1TO16:ST$(TU)=YS$(TU):ST(TU)=YS(TU):NEXTTU
  349. 3580 FORTU=1TO12:MT$(TU)=YM$(TU):MT(TU)=YM(TU):NEXTTU:GOTO2600
  350. 3590 FORGH=1TO192
  351. 3600 IFH$(GH)="000"THENH$(GH)="---"
  352. 3610 F$(GH)=H$(GH):F(GH)=H(GH)
  353. 3620 NEXTGH
  354. 3630 FORGH=1TO12:ST$(GH)=HS$(GH):ST(GH)=HS(GH):NEXTGH
  355. 3640 FORGH=1TO16:MT$(GH)=HM$(GH):MT(GH)=HM(GH):NEXTGH:RETURN
  356. 3650 GT=YM(1)+YM(2)+YM(3)+YM(4)+YM(5)+YM(6)+YM(7)+YM(8)+YM(9)+YM(10)+YM(11)
  357. 3660 GT=GT+YM(12):GT$=STR$(GT):GT$=MID$(GT$,2):GT$=""+GT$
  358. 3670 OPEN2,8,2,"@0:BUDGET DATA 2,S,W"
  359. 3680 FORTY=1TO192
  360. 3690 PRINT#2,Y$(TY)
  361. 3700 PRINT#2,Y(TY)
  362. 3710 NEXTTY
  363. 3720 FORTY=1TO192
  364. 3730 PRINT#2,H$(TY)
  365. 3740 PRINT#2,H(TY)
  366. 3750 NEXTTY
  367. 3760 PRINT#2,GT$
  368. 3770 FORTY=1TO12
  369. 3780 PRINT#2,YM$(TY)
  370. 3790 PRINT#2,YM(TY)
  371. 3800 NEXTTY
  372. 3810 FORTY=1TO12
  373. 3820 PRINT#2,HM$(TY)
  374. 3830 PRINT#2,HM(TY)
  375. 3840 NEXTTY
  376. 3850 FORTY=1TO16
  377. 3860 PRINT#2,YS$(TY)
  378. 3870 PRINT#2,YS(TY)
  379. 3880 NEXTTY
  380. 3890 FORTY=1TO16
  381. 3900 PRINT#2,HS$(TY)
  382. 3910 PRINT#2,HS(TY)
  383. 3920 NEXTTY:CLOSE2
  384. 3930 RETURN
  385.